class Menu:
    imagem_botao_jogar1 = pygame.image.load(os.sep + 'nome imagem' + os.sep + '.png').convert()    # return a Surface
    imagem_botao_jogar2 = pygame.image.load(os.sep + 'nome imagem' + os.sep + '.png').convert()
    imagem_botao_jogar3 = pygame.image.load(os.sep + 'nome imagem' + os.sep + '.png').convert()
    imagem_botao_opcoes1 = pygame.image.load(os.sep + 'nome imagem' + os.sep + '.png').convert()
    imagem_botao_opcoes2 = pygame.image.load(os.sep + 'nome imagem' + os.sep + '.png').convert()
    imagem_botao_opcoes3 = pygame.image.load(os.sep + 'nome imagem' + os.sep + '.png').convert()
    imagem_botao_sair1 = pygame.image.load(os.sep + 'nome imagem' + os.sep + '.png').convert()
    imagem_botao_sair2 = pygame.image.load(os.sep + 'nome imagem' + os.sep + '.png').convert()
    imagem_botao_sair3 = pygame.image.load(os.sep + 'nome imagem' + os.sep + '.png').convert()
    imagem_botao_creditos1 = pygame.image.load(os.sep + 'nome imagem' + os.sep + '.png').convert()
    imagem_botao_creditos2 = pygame.image.load(os.sep + 'nome imagem' + os.sep + '.png').convert()
    imagem_botao_creditos3 = pygame.image.load(os.sep + 'nome imagem' + os.sep + '.png').convert()
    imagem_botao_instrucoes1 = pygame.image.load(os.sep + 'nome imagem' + os.sep + '.png').convert()
    imagem_botao_instrucoes2 = pygame.image.load(os.sep + 'nome imagem' + os.sep + '.png').convert()
    imagem_botao_instrucoes3 = pygame.image.load(os.sep + 'nome imagem' + os.sep + '.png').convert()
    
    musica_fundo = pygame.mixer.music.load('nome do arquivo da musica')
    
    def __init__(self):
        self.background = pygame.image.load('Imagens' + os.sep + 'imagem_menu_def.jpg' + os.sep)        # image.load() return a Surface

        self.lista_botao_jogar = [imagem_botao_jogar1,imagem_botao_jogar2,imagem_botao_jogar3]     
        self.lista_botao_instrucoes = [imagem_botao_instrucoes1,imagem_botao_instrucoes2,imagem_botao_instrucoes3]
        self.lista_botao_sair = [imagem_botao_sair1,imagem_botao_sair2,imagem_botao_sair3]
        self.lista_botao_opcoes = [imagem_botao_opcoes1,imagem_botao_opcoes2,imagem_botao_opcoes3]
        self.lista_botao_creditos = [imagem_botao_creditos1,imagem_botao_creditos2,imagem_botao_creditos3]

        self.posicao_mouse = pygame.mouse.get_pos()  # verifica a posicao do mouse em relacao ao vertice superior-esquerdo da tela

        self.musica_fundo = pygame.mixer.music.play()

        self.mapa_imagens_menu = {'background':(self.background,(0,0)),             # mapeia uma lista de botoes para suas posicoes
                                  'botao_jogar': (self.lista_botao_jogar[0],(x,y)),
                                  'botao_instrucoes': (self.lista_botao_instrucoes[0],(x,y)),
                                  'botao_sair': (self.lista_botao_sair[0],(x,y)),
                                  'botao_opcoes': (self.lista_botao_opcoes[0],(x,y)),
                                  'botao_creditos': (self.lista_botao_creditos[0]:(x,y))
                                  }
    
    def verificar_clique(self, botao):      # botao eh um string
        if (self.mapa_imagens_menu[botao][0].get_rect()).collidepoint(self.posicao_mouse):    # get_rect return a Rect of the Surface
            Surface.blit(self.mapa_imagens_menu[botao][0][1],self.mapa_imagens_menu[botao][1])
            if pygame.mouse.get_pressed()[0]:
                # mudanca de fluxo no jogo ocorre em game.py
                return True
        return False    

    def blitar_imagens_menu(self):
        for imagem in mapa_imagens_menu.keys():
            Surface.blit(self.mapa_imagens_menu[imagem][0],self.mapa_imagens_menu[imagem][1])      # imagem jah vai estar no formato Surface

    def tocar_musica_fundo(self):   # vai ser posto no loop de forma que toque o tempo todo
        return self.musica              # tem que criar botao correspondente
        
    def pausar_musica(self):
        return pygame.mixer.music.stop()
        
    def tirar_pausa(self):
        return pygame.mixer.music.rewind()    

    def alterar_volume(self,string):
        if string == 'aumentar':
            return pygame.mixer.music.set_volume(valor_float)    # valor entre 0.0 e 1.0
        elif string == 'abaixar':
            return pygame.mixer.music.set_volume(valor_float)   
            
             
